package com.tudouji.project.document.domain;

import com.tudouji.framework.aspectj.lang.annotation.Excel;
import com.tudouji.framework.web.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 单证/协议定义对象 document_define
 *
 * @author coal
 * @date 2021-12-06
 */
@Data
public class DocumentDefine extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 项目类型
     */
    @Excel(name = "项目类型 ")
    private Integer projBusnType;

    /**
     * 首笔付款节点
     */
    @Excel(name = "首笔付款节点")
    private Integer payStartType;

    /**
     * 运输方式
     */
    @Excel(name = "运输方式")
    private Integer transportType;

    /**
     * 资金来源
     */
    @Excel(name = "资金来源")
    private Integer fundsType;

    /**
     * 编号
     */
    @Excel(name = "编号")
    private String code;

    /**
     * name
     */
    @Excel(name = "name")
    private String name;

    /**
     * 流程id
     */
    @Excel(name = "流程id")
    private Long flowId;

    /**
     * 上传节点
     */
    @Excel(name = "上传节点")
    private Long uploadNodeId;

    /**
     * 顺序号
     */
    @Excel(name = "顺序号")
    private Integer sortNo;

    /**
     * 是否必填 1 必填，不上传则该流程当前节点不让通过
     */
    @Excel(name = "是否必填 1 必填，不上传则该流程当前节点不让通过")
    private Integer required;

    /**
     * 归档状态 105？
     */
    @Excel(name = "归档状态 105？")
    private Integer archiveStatus;

    /**
     * 是否需要线上签署
     */
    @Excel(name = "是否需要线上签署")
    private Integer onlineSignflag;

    /**
     * 状态	1 生效 0 不生效
     */
    @Excel(name = "状态	1 生效 0 不生效")
    private Integer status;
    private String busTable;

    private Integer type;

    private String uploadNodeName;

    private String flowName;

    private String condition;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setProjBusnType(Integer projBusnType) {
        this.projBusnType = projBusnType;
    }

    public Integer getProjBusnType() {
        return projBusnType;
    }

    public void setPayStartType(Integer payStartType) {
        this.payStartType = payStartType;
    }

    public Integer getPayStartType() {
        return payStartType;
    }

    public void setTransportType(Integer transportType) {
        this.transportType = transportType;
    }

    public Integer getTransportType() {
        return transportType;
    }

    public void setFundsType(Integer fundsType) {
        this.fundsType = fundsType;
    }

    public Integer getFundsType() {
        return fundsType;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setFlowId(Long flowId) {
        this.flowId = flowId;
    }

    public Long getFlowId() {
        return flowId;
    }

    public void setUploadNodeId(Long uploadNodeId) {
        this.uploadNodeId = uploadNodeId;
    }

    public Long getUploadNodeId() {
        return uploadNodeId;
    }

    public void setSortNo(Integer sortNo) {
        this.sortNo = sortNo;
    }

    public Integer getSortNo() {
        return sortNo;
    }

    public void setRequired(Integer required) {
        this.required = required;
    }

    public Integer getRequired() {
        return required;
    }

    public void setArchiveStatus(Integer archiveStatus) {
        this.archiveStatus = archiveStatus;
    }

    public Integer getArchiveStatus() {
        return archiveStatus;
    }

    public void setOnlineSignflag(Integer onlineSignflag) {
        this.onlineSignflag = onlineSignflag;
    }

    public Integer getOnlineSignflag() {
        return onlineSignflag;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("projBusnType", getProjBusnType())
                .append("payStartType", getPayStartType())
                .append("transportType", getTransportType())
                .append("fundsType", getFundsType())
                .append("code", getCode())
                .append("name", getName())
                .append("flowId", getFlowId())
                .append("uploadNodeId", getUploadNodeId())
                .append("sortNo", getSortNo())
                .append("required", getRequired())
                .append("archiveStatus", getArchiveStatus())
                .append("onlineSignflag", getOnlineSignflag())
                .append("status", getStatus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
